﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace SpaceInvaders_LeonardoCamelo
{
    class Enemy : GameObject //Classe de inimigo, deriva de GameObject.
    {
        public Vector2 speed; //Vetor de velocidade.
        public int escopoMax; //Espaço delimitado para movimentação do inimigo.
        private int escopoCount; //Contador para escopo.

        //Dentro do construtor igualamos os parâmetros aos atributos que serão iniciados com o objeto.
        public Enemy(Rectangle rectanglePicture, Texture2D texture, Vector2 speed, int escopoMax)
        {
            this.rectanglePicture = rectanglePicture;
            this.texture = texture;
            this.speed = speed;
            this.escopoMax = escopoMax;
        }

        //Metodo de atualizações.
        public void Update()
        {
            //Atualizamos a posição X pela sua velocidade.
            this.rectanglePicture.X += (int)this.speed.X;
            //Aumentamos o contador de escopo.
            this.escopoCount++;
            //Se o contador de escopo chegar ao escopo máximo.
            if (this.escopoCount == this.escopoMax)
            {
                //Invertemos a velocidade.
                this.speed.X *= -1;
                //Zeramos o contador.
                this.escopoCount = 0;
                //Ele descerá.
                this.rectanglePicture.Y += (int)this.speed.Y;
            }
        }
    }
}
